pub trait LfMessage {
    /// 编码为 TLV 格式（二进制发送）
    fn encode_tlv(&self) -> Vec<u8>;

    /// 从二进制解码（接收或读取）
    fn decode_tlv(buf: &[u8]) -> Result<Self, String>
    where
        Self: Sized;
}
